package com.wzdigit.wms.basic.client.response.transfer;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @ClassName GndCtnrResponse
 * @Description 发货装运任务列表vo
 * @Author LHR-PC
 * @Date 2021/3/4 14:34
 * @Version
 **/
@Data
@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler", "fieldHandler" }, ignoreUnknown = false)
public class GdnCtnrTaskResponse implements Serializable {

    /**
	 * 
	 */
	private static final long serialVersionUID = 4694188228639516655L;

	/**
     * 发货单表头ID
     */
    @ApiModelProperty("发货单表头ID")
    private Integer gdnHeaderId;

    /**
     * 发货单单号
     */
    @ApiModelProperty("发货单单号")
    private String gdnNo;
    
    /**
     * 来源发货通知单
     */
    @ApiModelProperty("来源发货通知单")
    private String sourceShipNotice;

    /**
     * 参考柜号
     */
    @ApiModelProperty("参考柜号")
    private String refCntrNo;

    /**
     * 货主ID，客户主数据中 客户类型=货主，取客户ID
     */
    @ApiModelProperty("货主ID")
    private Integer owner;

    /**
     * 客户ID
     */
    @ApiModelProperty("客户ID")
    private Integer customer;

    /**
     * 客户名称
     */
    @ApiModelProperty("客户名称")
    private String customerName;

    /**
     * 实际柜号
     */
    @ApiModelProperty(value = "实际柜号",hidden = true)
    private String cntrNo;

    /**
     * 实际柜号列表
     */
    @ApiModelProperty("实际柜号")
    private List<String> cntrNoList;

    /**
     * 车牌号
     */
    @ApiModelProperty(value = "车牌号",hidden = true)
    private String vehicleNo;

    /**
     * 车牌号列表
     */
    @ApiModelProperty("车牌号")
    private List<String> vehicleNoList;

    /**
     * 需求数量(发货单明细(WMS_GDN_DTL)的订单数量(ORDER_QTY)汇总)
     */
    @ApiModelProperty("需求数量")
    private BigDecimal orderQtySum;

    /**
     * 已拣数量(发货单明细(WMS_GDN_DTL)的拣货数量(PICK_QTY)汇总)
     */
    @ApiModelProperty("已拣数量")
    private BigDecimal pickQtySum;

    /**
     * 已装数量(发货单明细(WMS_GDN_DTL)的发货(SHIP_QTY)汇总)
     */
    @ApiModelProperty("已装数量")
    private BigDecimal shipQtySum;

    /**
     * 实际已装
     */
    @ApiModelProperty("实际已装")
    private BigDecimal cmpQtySum;

    /**
     * 状态（明细状态(只有5跟6)）
     */
    @ApiModelProperty("明细状态(只有5跟6，5=待装柜，6=装柜中")
    private Integer status;

    /**
     * 状态描述
     */
    @ApiModelProperty("明细状态描述")
    private String statusDesc;

    /**
     * 状态（明细行只存在装柜中(6)则显示“装柜中”，否则显示“已拣货”）
     */
    @ApiModelProperty(value = "主档状态(只有5跟6)",hidden = true)
    private Integer headerStatus;

    /**
     * 主档状态描述
     */
    @ApiModelProperty("主档状态描述,明细行只存在装柜中(6)则显示“装柜中”，否则显示“已拣货”")
    private String headerStatusDesc;

    /**
     * 明细行ID
     */
    @ApiModelProperty("明细行ID")
    private Integer gdnDtlId;

    /**
     * 发货日期
     */
    @ApiModelProperty("发货日期")
    private Date shipDate;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String comments;
    
    /**
     * 余留单信息列表
     */
    @ApiModelProperty("余留单信息列表")
    private List<GdnDtlAndUnshipQtyResponse> remainPdaList;
    
    /**
     * 余留单信息列表（作废）
     */
    @ApiModelProperty("余留单信息列表（作废）")
    private List<GdnCtnrDtlResponse> remainInfoList;
}
